IPS PowerShell module (Automation cmdlets)

The IPS PowerShell module provides a set of cmdlets that can be used to perform administrative tasks for a Planning Space deployment. You can include the cmdlets in PowerShell scripts to automate tasks.

The module requires at minimum version 3.0 of PowerShell.

(Note for using PowerShell scripts for IPS administration: PowerShell has an ExecutionPolicy setting which is by default set to 'Restricted', which prevents all scripts from running. To use scripts for administration will require setting the ExecutionPolicy to 'RemoteSigned' (as generally recommended by Microsoft) or 'Unrestricted'.)

Installation: IPS Server

The module is installed automatically as part of the IPS Server installation. The files are installed in the 'Palantir' programs folder, for example 'C:\Program Files\Palantir\PalantirIPS 16.5\Powershell', and the Windows environment variable '$env:PSmodulepath' is modified to include this folder. You do not need to do any further installation if you are using the module on an IPS Server machine.

You can test that the module is installed correctly with the following PowerShell command:

Copy
Get-Command -Module Palantir.IPS.Manager.Automation

You should see a listing of all of the cmdlets.

Manual installation

Contact Quorum Support if you require the Powershell module as a ZIP file source. The module can also be copied (by a server Administrator) from the IPS Server location shown above.

The ZIP file should have a name in the form 'PalantirIPSManagerAutomation_165Xyyy.zip', where '165' denotes the version number and 'Xyyy' denote the sub-version and build numbers. It is best to use the latest version of the ZIP file which is compatible with your company's Planning Space/IPS deployment, that is having the same version and sub-version numbers.

The installation ZIP file contains two help files (README.txt and INSTALL.txt) and the folder 'Palantir.IPS.Manager.Automation' which contains all of the IPS PowerShell module files.

The folder needs to be installed at some place in your computer's PowerShell lookup path. Your 'PSModulePath' variable for PowerShell should look something like this, by default:

PS> $env:PSmodulepath

C:\Users\{USERNAME}\Documents\WindowsPowerShell\Modules;C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules

If you are non-Administrator user, copy the 'Palantir.IPS.Manager.Automation' folder into your own folder 'Documents\WindowsPowerShell\Modules':

  1. Create a folder 'C:\Users\{USERNAME}\Documents\WindowsPowerShell\Modules' (if it does not exist).
  2. Paste in a copy of the folder 'Palantir.IPS.Manager.Automation'.

If you are an Administrator user, you can make the module available to all users of a machine by adding the 'Palantir.IPS.Manager.Automation' folder to 'C:\Program Files\WindowsPowerShell\Modules'.

You can test that the module is installed correctly with the following PowerShell command:

Copy
Get-Command -Module Palantir.IPS.Manager.Automation

You should see a listing of all of the cmdlets.

Using the cmdlets

For explanation of the settings that are covered by the cmdlets, see IPS Server configuration, Licensing and Applications settings.

All of the cmdlets, except for 'Test-Server', require a server login with 'Connect-IPSManager'. For example:

Copy
Connect-IPSManager https://ips.mycompany.com

with the output:

 IsSuccess            : True
Errors               : 
Url                  : https://ips.mycompany.com
ServerVersion        : 16.5.0.0
UserName             : MYCOMPANY\ipsadmin
IsMemberOfAdminGroup : True
IsServerLicensed     : True

The authentication of your connection is based on the Windows user account that executes the 'Connect-IPSManager' command. The account must be a member of the IPS Administrators Group. (See Using IPS Manager.)

You should disconnect from the server when the connection is no longer required:

Copy
Disconnect-IpsManager

Note on connection to an IPS server cluster: When you connect to a cluster of server machines, you have the option to connect to the load balancer (i.e., by using the service address), which will automatically select one of the server machines to connect to, or to connect directly to a specific server machine. There are a few cmdlets intended for use with specific server machines, when adding or removing machines to/from a cluster, or changing the primary server machine: Get-IsPartOfCluster, Get-IsPrimaryServer, Join-ClusterAsPrimaryServer, and Join-ClusterAsSecondaryServer.

Note on Boolean inputs: The 'true' and 'false' string values should not be used as inputs to Boolean parameters. The inputs '0', '1', '$true' or '$false' should always be used.

Using the module help information

The cmdlets follow the standard PowerShell 'verb-noun' convention.

The module contains comprehensive help information for all of the cmdlets. Use the table of cmdlets below to look up a cmdlet name and then access the help information with 'Get-Help'. For example:

Copy
Get-Help Get-TenantClusterTempFolder -full

You can use the Windows Powershell ISE tool to explore the contents of the module: open the Command add-on and in the 'Module' selection box select 'Palantir.IPS.Manager.Automation'.

Cmdlet listing for Palantir.IPS.Manager.Automation

For version 16.5 Update 6 and later: Added commands 'Enter-MaintenanceMode' and 'Set-PrimaryServer'.

For version 16.5 Update 13 and later: Added commands 'Add-TenantAuthenticationMethod' and 'Remove-TenantAuthenticationMethod'.

For version 16.5 Update 16 and later: Added commands 'Get-TenantCloudStorage', 'Remove-TenantCloudStorage', 'Set-TenantAwsCloudStorage', 'Set-TenantAzureCloudStorage'.

For explanation of the settings that are covered by the cmdlets, see IPS Server configuration, Licensing and Applications settings.

''.
Cmdlet name Description
Add-ApplicationAccess Gives tenant access to the specified application.
Add-Tenant Adds a new tenant to the current PalantirIPS server.
Add-TenantAuthenticationMethod (Available in version 16.5 Update 13 and later) Allow the specified authentication method for the specified tenant.
Clear-UserSession Removes all user sessions for a specified tenant. If the license server is in CentralizedPool mode, all user sessions will be removed.
Connect-IpsManager Connects to a running instance of PalantirIPS Manager. It checks if the current Windows user is a member of the configured IPS Admin Group. Except for the Test-Server cmdlet, all other PalantirIPS Manager automation cmdlets require that Connect-IpsManager first be called successfully.
ConvertTo-EncryptedText Converts plain text strings into encrypted strings with Aucerna encryption logic. The encrypted string created by the cmdlet can be used with cmdlets or functions that require an encrypted string e.g. password.
Disable-Tenant Disables a tenant on the current PalantirIPS server.
Disconnect-IpsManager Disconnects from the current PalantirIPS Manager session and removes all Powershell session variables associated with it.
Enable-Tenant Enables a tenant on the current PalantirIPS server.
Enter-MaintenanceMode (Available in version 16.5 Update 6 and later) Switches the specified server to maintenance mode. The server will not accept interactive sessions or new jobs, but running jobs will continue to completion.
Get-Application Retrieves the list of applications deployed in the current PalantirIPS server.
Get-ApplicationCachePort Retrieves the configured distributed cache port of the specified application.
Get-ApplicationClientSetting Retrieves a tenant's client application settings.
Get-ApplicationEventLogLevel Retrieves the event log level of an application.
Get-ApplicationGroup Retrieves the list of application groups deployed in the current PalantirIPS server.
Get-ApplicationMainLogLevel Retrieves the main log level of an application.
Get-ApplicationProcessingPort Retrieves the configured distributed processing port of the specified application.
Get-ApplicationProcessorAffinity Retrieves a list of processors that are bound to the application process (eg. a returned list of 1,3,4 means that CPU1, CPU3, and CPU4 are bound to the application process).
Get-ApplicationServiceSetting Retrieves the value of a specified service setting for an application.
Get-AuthorizedClusterGroup Retrieves the configured authorized cluster group from the current PalantirIPS server.
Get-ClusterPort Retrieves the configured cluster management port from the current PalantirIPS server.
Get-EventLogLevel Retrieves the configured event logging level from the current PalantirIPS server.
Get-GenerateMemoryDump Retrieves the configured value for the setting that tells the PalantirIPS server whether to generate or not a memory dump when an unhandled exception occurs on the server.
Get-IpsServerLicense Retrieves a list of all the current server licenses on the IPS server. Revoked licenses will be excluded.
Get-IsPartOfCluster Checks if the current PalantirIPS server is part of a cluster.
Get-IsPrimaryServer Checks if the current PalantirIPS server is the primary server of a cluster.
Get-LicenseServerUrl Retrieves the base url of the license server. If the license server is in PerTenant mode, the tenant parameter must be specified.
Get-LicensingMode Retrieves the current licensing mode of the IPS server.
Get-MailSettings Retrieves the configured Mail settings for the current PalantirIPS server.
Get-MainLogLevel Retrieves the configured main logging level for the current PalantirIPS server.
Get-MaxWorkerUsage Retrieves the configured max worker usage for the specified processing category.
Get-MonitorPort Retrieves the configured monitor port from the current PalantirIPS server.
Get-PeriodicTaskPoolSize Retrieves periodic task pool size for the specified server.
Get-ProcessingCategoryList Retrieves the list of processing categories of the current PalantirIPS server.
Get-ProcessorAffinity Retrieves a list of processors that are binded to the IPS worker process (eg. a returned list of 1,3,4 means that CPU1, CPU3, and CPU4 are binded).
Get-ProcessorList Retrieves a list of processors that can be used by IPS Workers. To set processor affinity for IPS Workers, please see the Get-ProcessorAffinity and Set-ProcessorAffinity cmdlets.
Get-ProductLicense Retrieves a list of all the current product licenses on the license server. Revoked licenses will be excluded.
Get-ProxySetting Retrieves the current proxy setting for the license server.
Get-ServerAddress Retrieves the configured server address of the current PalantirIPS server.
Get-ServerList Retrieves the list of PalantirIPS servers. If the current PalantirIPS server is a standalone server, this will return a list of one. If the current PalantirIPS server is a member of a server cluster, this will return list of all servers belonging to the cluster.
Get-ServerSetting Retrieves the value of a specified PalantirIPS server setting.
Get-ServerTaskPoolSize Retrieves server task pool size for the specified server.
Get-ServiceCertificate Retrieves the configured service certificate for the current PalantirIPS server.
Get-ServiceSetting Retrieves the value of a specified PalantirIPS Service setting.
Get-ShowTenantsOnRootPage Retrieves the value of the setting that controls whether tenants will be shown on the server root page when logging into IPS.
Get-Tenant Retrieves the list of tenants on the current PalantirIPS server.
Get-TenantApplication Retrieves the list of applications the specified tenant has access to.
Get-TenantCloudStorage (Available in version 16.5 Update 16 and later) Retrieves the cloud storage settings of the specified tenant.
Get-TenantClusterTempFolder Retrieves the tenant cluster temp folder location for a specified tenant.
Get-TenantDataSource Retrieves the data source of the specified tenant.
Get-TenantSAML2IdentityProvider Gets the SAML2 identity provider of the specified tenant.
Get-TenantTokenLifetime Gets the token lifetime of the specified tenant.
Get-UserSession Retrieves a list of user session information from the license server.
Get-WebServerPort Retrieves the configured web server port for the current PalantirIPS server.
Get-WorkerAllocationStrategy Retrieves the worker allocation strategy for the specified server.
Get-WorkerCount Retrieves worker count for the specified server.
Import-IpsServerLicense Imports an IPS server license from a specified location.
Import-ProductLicense Imports a product license from a specified location.
Join-ClusterAsPrimaryServer Configures the current PalantirIPS server to join a cluster as the primary server.
Join-ClusterAsSecondaryServer Configures the current PalantirIPS server to join a cluster as a secondary server.
Remove-ApplicationAccess Removes a tenant's access to the specified application.
Remove-ProductLicense Removes a current product license from the server. Revoking a license cannot be undone; removed licenses cannot be reuploaded.
Remove-Tenant Removes the specified tenant from the current PalantirIPS server.
Remove-TenantAuthenticationMethod(Available in version 16.5 Update 13 and later) Disallow the specified authentication method for the specified tenant.
Remove-TenantCloudStorage(Available in version 16.5 Update 16 and later) Removes cloud storage settings from the specified tenant.
Remove-UserSessionRemoves a specified user session from license server.
Reset-ApplicationClientSettingResets a tenant's client application settings.
Reset-ApplicationServiceSettingResets the value of a specified setting for an application's server module.
Reset-ServerSettingResets a specified server setting.
Reset-ServiceSettingResets a specified Service setting.
Restart-ApplicationRestarts the server-side module of an application.
Set-ApplicationCachePortSets the distributed cache port of an application.
Set-ApplicationClientSettingSets the value of a tenant's client application setting.
Set-ApplicationEventLogLevelSets the event log level of an application.
Set-ApplicationMainLogLevelSets the main log level of an application.
Set-ApplicationProcessingPortSets the distributed processing port of an application.
Set-ApplicationProcessorAffinityAllocates or de-allocates a processor to or from an application process on a specified server. Any processor not in the ProcessorList will be deallocated.
Set-ApplicationServiceSettingSets the value of a specified setting for an application's server module.
Set-AuthorizedClusterGroupSets the authorized cluster group of the current PalantirIPS server.
Set-ClusterPortSets the cluster management port.
Set-EventLogLevelSets the event logging level for the current PalantirIPS server.
Set-GenerateMemoryDumpSets the value that determines whether PalantirIPS will generate a memory dump if a fatal exception occurs.
Set-LicensingModeSets the licensing mode of the IPS server. The valid modes are CentralizedPool and PerTenant.
Set-MailSettingsSets values for the Mail settings of the current PalantirIPS server.
Set-MainLogLevelSets the main logging level for the current PalantirIPS server.
Set-MaxWorkerUsageSets the maximum number of workers that can be used by the specified processing category.
Set-MonitorPortSets the monitor port of the current PalantirIPS server.
Set-PeriodicTaskPoolSizeSets the number of periodic task pool size for a server.
Set-PrimaryServer(Available in version 16.5 Update 6 and later) Sets the specified server to be the primary server for the cluster.
Set-ProcessorAffinityAllocates or de-allocates a processor to or from a processing category on a specified server. Any processor not in the ProcessorList will be deallocated.
Set-ProxySettingChanges the proxy setting of the license server.
Set-ServerAddressSets the server address of the current PalantirIPS server.
Set-ServerSettingSets the value of a specified PalantirIPS server setting.
Set-ServerTaskPoolSizeSets the number of server task pool size for a server.
Set-ServiceCertificateSets the certificate value settings of the current PalantirIPS server.
Set-ServiceSettingSets the value of a PalantirIPS Service setting.
Set-ShowTenantsOnRootPageSets the value of the setting that controls whether to show the tenant list in the server root page.
Set-TenantAwsCloudStorage(Available in version 16.5 Update 16 and later) Sets the AWS cloud storage settings for the specified tenant.
Set-TenantAzureCloudStorage(Available in version 16.5 Update 16 and later) Sets the Azure cloud storage settings for the specified tenant.
Set-TenantClusterTempFolderSets the tenant cluster temp folder location for a specified tenant. To use this cmdlet, the tenant data source must first be set. Both your IPS and SQL server will also require access rights to the location you specify.
Set-TenantDataSourceSets the data source of the specified tenant.
Set-TenantSAML2IdentityProviderSets the SAML2 identity provider of the specified tenant.
Set-TenantTokenLifetimeSets the token lifetime of the specified tenant.
Set-WorkerAllocationStrategySets the worker allocation strategy for a server.
Set-WorkerCountSets the number of workers for a server.
Test-ServerPerforms tests to check if all the web applications hosted in the current PalantirIPS server are accessible. This cmdlet does not require Connect-IpsManager to be called first.
Use-HttpConfigures the current PalantirIPS server to use http.
Use-SecureHttpConfigures the current PalantirIPS server to use secure http.
Use-SslOffloadingConfigures the current PalantirIPS server to use SSL offloading.